package com.zhongan.gateway.common.enums;

/**
 * 类MutualErrorCodeEnum.java的实现描述：公共异常枚举
 * 
 * @author CHENQIMING 2016年7月4日 下午2:38:42
 */
public enum GatewayErrorCodeEnum {

    //    REPEAT_REQUEST_ERROR("101", "重复请求"),
    INPUT_MUST_NOT_NULL("101", "参数不可为空"),
    REQUEST_VERIFY_FAIL("102", "请求验签失败"),
    REQUEST_DECRYPT_FAIL("103", "解密密文失败"),
    //    DATA_EXPIRED("105", "更新数据已过期"),

    UN_KNOWN("109", "未知错误"),
    //    MAXIMUM_LIMIT("107", "超过最大查询记录限制"),
    //    ENUM_NOT_EXIST("108", "无匹配的数据字典定义"),
    AUTH_ERROR("104", "授权异常"),
    UNKNOW_METHOD_ERROR("105", "该接口不存在"),
    UNKNOW_APPKEY_ERROR("106", "非法的appkey"),
    //    SYSTEM_ERROR("112", "系统异常"),
    ILLEGAL_IP("107", "ip未加入白名单 "),
    OVERFLOW("108", "访问超过限量 "),
    API_FUSE("110", "API已熔断 "),
    INVOKE_ERROR("111", "服务方异常");
    private String code;
    private String msg;

    public String getCode() {
        return code;
    }

    public String getMsg() {
        return msg;
    }

    public static GatewayErrorCodeEnum getFlag(String msg) {
        for (GatewayErrorCodeEnum an : GatewayErrorCodeEnum.values()) {
            if (null != msg && msg.equals(an.getCode())) {
                return an;
            }
        }
        return null;
    }

    GatewayErrorCodeEnum(String code, String msg) {
        this.code = code;
        this.msg = msg;
    }
}
